// 门店-员工表 - 自动脚本
import { getURL, $http } from './api.js';
import { getDocuments, createDocument, clearDocuments, timeToStamp } from '../index.js';
/**
 * @param {string} runTime 顾客导入执行时间
*/
(function(runTime) {
  clearDocuments('门店信息表');
  clearDocuments('员工信息表');
  // 获取列表，执行入库
  getShopList();
  function getShopList(page) {
    var formName = '门店信息表';
    page = page || 1;
    var uri = getURL('/scrm/inside/shop-list');
    var params = {
      page
    };
    var headers = {};
    var json = {};
    var resData = $http.post({
      uri,
      params,
      headers,
      data: json
    })
    if (resData.status != 'ok') {
      getShopList(page);
      return;
    }
    var data = resData.data;
    var list = data.data;
    // 如果有下一页，继续获取
    if (data.last_page > data.current_page) {
      getShopList(++page);
    }
    // 循环塞数据
    for (var i = 0; i < list.length; i++) {
      var item = list[i];
      createDocument({
        formName,
        formData: {
          '所属省份': item.province,
          '所属州市': item.city,
          '所属区域': item.area,
          '门店编号': item.shop_id,
          '门店名称': item.shop_name,
          '门店员工数': item.staff_count,
          '门店联系电话': item.mobile,
        }
      })
    }
    // 执行导入员工表
    var shopList = getDocuments({
      formName
    })
    for (var j = 0; j < shopList.size(); j++) {
      var shopId = shopList.get(j).getElementByName('门店编号').getValue();
      var docId = shopList.get(j).id;
      getStaffList(shopId, docId, 1);
    }
  }

  // 获取员工列表，执行入库
  function getStaffList(shopId, docId, page) {
    var formName = '员工信息表';
    var uri = getURL('/scrm/inside/shop-staff-list');
    var params = {
      shop_id: shopId,
      page
    }
    var resData = $http.get({
      uri,
      params
    })
    var data = resData.data;
    var list = data.data;
    // 如果请求失败，进行重试
    if (resData.code == 40000) {
      getStaffList(shopId, docId, page);
      return;
    }
    if (resData.status != 'ok') {
      return
    }
    // 循环塞数据
    for (var i = 0; i < list.length; i++) {
      var item = list[i];
      createDocument({
        formName,
        formData: {
          '所属门店': docId,
          '所属门店编号': shopId,
          '员工姓名': item.real_name,
          '员工企微标识': item.user_id,
          '联系方式': item.mobile,
          '员工状态': item.status,
          '员工职称': item.position,
          '顾客同步时间': timeToStamp(runTime) + (i * 60000)
        }
      })
    }
  }
})('00:00:00')
